package com.mx.kn.cstf2.service;

import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;

import com.mx.kn.cstf2.dts.FilesUploadDts;
import com.mx.kn.cstf2.dts.JoindocumenttransitionDts;
import com.mx.kn.cstf2.dts.PersonOptions;

import kn.cstf2.transition.Bean.AsignIfownerStkBean;
import kn.cstf2.transition.Bean.JoinPersonTransitionBean;
import kn.cstf2.transition.Bean.Localidad;
import kn.cstf2.transition.Bean.PersonalBean;
import kn.cstf2.transition.Bean.T_clientesDataFromStkBean;
import kn.cstf2.transition.Bean.TransitionBean;

import com.mx.kn.cstf2.dto.HistoricoDto;
import com.mx.kn.cstf2.dto.LinksDto;
import com.mx.kn.cstf2.dto.UsuarioDto;

public interface TransitionService {
	public ArrayList<String> getListaNombreDePersonal() throws SQLException;
	public TransitionBean getTransitionBeanIdKnkey(TransitionBean transitionBean) throws SQLException;
	public FilesUploadDts verifyUploaded(TransitionBean transition) throws SQLException;
	public TransitionBean getJoindocumenttransitionDetail(int RATE_TRACKER, int ACON_DEBTOR_NUMBER, Integer idtransition) throws SQLException;
	public String getTransitionLog(TransitionBean transition) throws SQLException;
	public void updateLogEnTransition(TransitionBean transitionBean) throws SQLException;
	public T_clientesDataFromStkBean getDataFromSTK(TransitionBean transitionBean) throws SQLException;
	public AsignIfownerStkBean getIfOwnerFromSTK(TransitionBean transitionBean)  throws SQLException;
	public JoindocumenttransitionDts getVoBoInJoindocumenttransition(Integer idtransition) throws SQLException;
	public ArrayList<PersonalBean> getDataPersonalByIdPersonal(Integer idp) throws SQLException;
	public ArrayList<Localidad> branch() throws SQLException;
	public String getLocality(Integer knkey) throws SQLException;
	public String validateBranch(Integer knkey) throws SQLException;
	public JoindocumenttransitionDts getJoindocumenttransitionData(TransitionBean transitionBean) throws SQLException;
	public  Map<Integer,Boolean> checkVoBoCheckbox(JoindocumenttransitionDts joindocumenttransitionBean) throws SQLException;
	public Integer verificarCountJoinPersontransition(JoinPersonTransitionBean joinPersonTransitionBean) throws SQLException;
	public void deleteRelationJoinusertransitionByIdPerson(Integer idperson, Integer idtransition)  throws SQLException;
	public void deletePersonalById(PersonalBean personalBean) throws SQLException;
	public void setJoinPersonTransition(PersonalBean personalBean, TransitionBean transitionBean) throws SQLException;
	public PersonalBean insertDataPersonal(PersonalBean personalBean) throws SQLException;
	public PersonalBean getDataPersonalByEmail(String mail) throws SQLException;
	public JoindocumenttransitionDts updateVoBoInJoindocumenttransition(JoindocumenttransitionDts joindocumenttransitionBean, String fecha) throws SQLException;
	public TransitionBean updateStatusEnTransition(TransitionBean transitionBean, Date date, String userName) throws SQLException;
	public TransitionBean updateStatusEnImplementation(TransitionBean transitionBean, String userName) throws SQLException;
	public PersonalBean getDataPersonal(TransitionBean transitionBean) throws SQLException;
	public PersonalBean getDataPersonalByName(String name) throws SQLException;
	public ArrayList<PersonalBean> getDataPersonalByKnkey(Integer knkey) throws SQLException;
	public PersonalBean getDataPersonalById(Integer idp) throws SQLException;
	public TransitionBean getLastDateUpdate(TransitionBean transitionBean) throws SQLException;
	public  TransitionBean insertLastDateUpdateComment(TransitionBean transitionBean, Date date,String userName) throws SQLException;
    public TransitionBean getLastDateUpdateComment(TransitionBean transitionBean)throws SQLException;
    public void updateCheckbox(JoindocumenttransitionDts joindocumenttransitionBean, int iddocument) throws SQLException;
    public void updateDetailsInJoindocumenttransition(String detailsnum, Integer documentid, Integer transitionId)  throws SQLException;
    public TransitionBean actualizarlastDateUpdateRequeri(Integer id,Integer knkey, String userName) throws SQLException;
	public TransitionBean getLastDateUpdateRequi(TransitionBean transitionBean)	throws SQLException;
	public boolean checkIfExistTransaction(int knkey) throws SQLException;
	public void newTransition(int knKey, String companyName,  UsuarioDto usuario) throws SQLException;
	public void updateUploadedFile(int idFile, int idTransaction,String detail) throws SQLException;
	public JoindocumenttransitionDts getJoinDocumentTransaction(int idDocument, int idTransition) throws SQLException;
	public void updateJoinTransitionDocuments(Map<Integer,Boolean> checkBoxs, int idTransition) throws SQLException;
	public void insertHistorico(HistoricoDto historico) throws SQLException;
	public List<JoindocumenttransitionDts> getEstatusAndDateDocuments(TransitionBean transition) throws SQLException;
	public List<PersonOptions> getPersonalAdd(TransitionBean transition) throws SQLException;
	public TransitionBean setLastDateUpdateSubmitFileImplementation(TransitionBean transition, Date date, String userName)throws SQLException;
	
}
